RESTful Webサービスの設計
タスク管理サービス
ここでは、タスク管理のためのWebサービス TODO の設計を行います。
URIの設計
アプリケーションの名前とAPIのバージョンをURIに含めることにします。
REST APIへのアクセスは次のようになります。
http://localhost:8080/todo/api/v1.0/
URIにアプリケーション名(ここではtodo)を含めておくと、このサービスを、同じシステムで実行できる他のサービスから分離するときに簡単になります。具体的には名前空間が異なるためHTTPサーバー側で別のシステムへリダイレクトしたりできるなど柔軟になります。
URIにバージョンを含めておくと、将来後方互換がないような機能を追加することも、既存サービスに影響させずに行うことができます。
HTTPメソッドのマッピング
Webサービス TODO は次のHTTPメソッドを使用するようにします。
hostname で与えるサーバは開発段階では localhost:8080 とします。
table: APIとHTTPメソッド
HTTPメソッド URI アクション
GET http://hostname/todo/api/v1.0/tasks タスクリストの取得
GET http://hostname/todo/api/v1.0/tasks/id タスクの取得
POST http://hostname/todo/api/v1.0/tasks 新規タスクの作成
PUT http://hostname/todo/api/v1.0/tasks/id 既存タスクを更新
DELETE http://hostname/todo/api/v1.0/tasks/id 指定したタスクを削除
タスクは次の情報を持つものとします。
id:タスクを示す一意の識別子。Integer型。
title:タスクのタイトル。タスクについての短い説明。 String型。
description:タスクの詳細。タスクについての詳細な説明。 Text型。
done:タスクの完了状態。 Boolean型。
これで、Webサービス TODO の基本的な設計は終了です。
次章以降で、この設計をもとに Flask、Falcon、FastAPI および’ Django を使って実装するようにします。